package com.dzl.supplier.dao;

import com.dzl.base.mapper.BaseMapper;
import com.dzl.supplier.pojo.WelfareSupplier;
import com.dzl.supplier.pojo.dto.WelfareSupplierDeliveryDto;
import com.dzl.supplier.pojo.dto.WelfareSupplierRestrictedAreasDto;
import com.dzl.supplier.pojo.query.WelfareSupplierQuery;
import com.dzl.supplier.pojo.vo.WelfareSupplierVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 供应商信息表(WelfareSupplier)表数据库访问层
 * @author caobucao
 * @since 2021-05-18 16:30:59
 */
public interface WelfareSupplierMapper extends BaseMapper<WelfareSupplier> {

    /**
     * 获取供应商分页列表信息
     * @date 2021/5/18 16:44
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<com.dzl.supplier.entity.vo.WelfareSupplierVo>
     */
    List<WelfareSupplierVo> selectSupplierVoListPage(WelfareSupplierQuery query);

    /**
     * 根据品牌id获取供应商分页列表信息
     * @date 2021/12/27 10:55
     * @author liuguanjun
     * @param query 查询条件
     */
    List<WelfareSupplier> selectSupplierListByBrandId(WelfareSupplierQuery query);

    /**
     * 查看供应商管理商品数量
     * @date 2021/6/11 17:21
     * @author caobucao
     * @param supplierId 供应商id
     * @return java.lang.Integer
     */
    Integer selectCountRelateGoodsBySupplierId(@Param("supplierId") Integer supplierId);

    /**
     * 获取供应商关联的品牌idList
     * @date 2021/7/14 19:43
     * @author caobucao
     * @param supplierId 供应商id
     * @return java.util.List<java.lang.Integer>
     */
    List<Integer> selectBrandIdListBySupplierId(@Param("supplierId") Integer supplierId);

    /**
     * 根据供应商和品牌ID查商品条数
     * @date 2021/7/23 0023 15:40
     * @author wangjian
     * @param supplierId 供应商ID
     * @param brandId 品牌ID
     * @return java.lang.Integer
     */
    Integer selectCountBySupplierAndBrand(@Param("supplierId") Integer supplierId,@Param("brandId") String brandId);

    /**
     * 通过名称查找供应商
     * @date 2021/10/11 16:00
     * @author caobucao
     * @param name 供应商名称
     * @return com.dzl.supplier.pojo.WelfareSupplier
     */
    //WelfareSupplier selectWelfareSupplierByName(@Param("name") String name);

    /**
     * 批量更改发货信息
     * @date 2021/11/2 14:45
     * @author caobucao
     * @param dto 传递对象
     * @return java.lang.Integer
     */
    Integer batchUpdateSupplierDeliveryInfo(WelfareSupplierDeliveryDto dto);

    /**
     * 批量更改限制地区
     * @date 2021/11/2 15:54
     * @author caobucao
     * @param dto 传输数据
     * @return java.lang.Integer
     */
    Integer batchUpdateSupplierRestrictedAreas(WelfareSupplierRestrictedAreasDto dto);
}

